package com.peas.platform.module.icims.base.approve.service;

import com.peas.platform.framework.mybatisplus.service.BaseService;
import com.peas.platform.module.icims.base.approve.component.ApproveCallback;
import com.peas.platform.module.icims.base.approve.dto.ApproveDto;
import com.peas.platform.module.icims.base.approve.dto.ApproveOrderDto;
import com.peas.platform.module.icims.base.approve.dto.ApproveOrderNodeDto;
import com.peas.platform.module.icims.base.approve.enums.ApproveOrderBusinessType;

import java.util.List;

public interface ApproveOrderService extends BaseService<ApproveOrderDto> {

    void approve(Long approveOrderId, String approveResult, String approveOpinion);

    void createApproveOrder(ApproveDto ad,
                            List<ApproveOrderNodeDto> aonds,
                            ApproveOrderBusinessType businessType,
                            Long businessId,
                            String businessDesc,
                            String businessUrl,
                            Class<? extends ApproveCallback> clazz);

    void revocationApproveOrder(ApproveOrderBusinessType businessType, Long businessId);

}
